package de.hdu.tennis.model;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;



/**
 * model class ReservierungDao
 * @author Lilli Kardapolzew, Katharina Weber, Carolina Hirtreiter 
 */
@Entity
@Table(name="tbl_reservierung")
public class Reservierung {
    /**
    * primary key:
    * <ul>
    * <li>pk_reservierung in the database</li>
    * <li>automatic generated value</li>
    * </ul>
    */
    @Id
    @GeneratedValue
	@Column(name="pk_reservierung")
    private Integer id;
    private Date startres; 
    private Date endres; 
    private double Preis;

    


	public double getPreis() {
		return Preis;
	}

	public void setPreis(double preis) {
		Preis = preis;
	}

	/**
    * <b>connection to the table Mitglied:</b>
    * <ul>
    * <li>Mitglied 1:n ReservierungDao</li>
    * <li>one Mitglied has no, one ore more Reservierungen</li>
    * <li>one Reservierungen has one Mitglied</li>
    * <li>pk_mitglied is foreign key and referential integrity is on</li>
    * </ul>
    */  

	@ManyToOne
	@JoinColumn(name = "pk_mitglied", nullable = false)
	private Mitglied mitglied;
	
    /**
    * <b>connection to the table TennisplatzController:</b>
    * <ul>
    * <li>TennisplatzController 1:n ReservierungDao</li>
    * <li>one TennisplatzController has no, one ore more Reservierungen</li>
    * <li>one Reservierungen has one TennisplatzController</li>
    * <li>pk_tennis is foreign key and referential integrity is on</li>
    * </ul>
    */  
	
	@ManyToOne
	@JoinColumn(name = "pk_tennisplatz", nullable = false)
	private Tennisplatz tennisplatz;
	

	// Getters and Setters 
	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public Date getStartres() {
		return startres;
	}

	public void setStartres(Date startres) {
		this.startres = startres;
	}

	public Date getEndres() {
		return endres;
	}

	public void setEndres(Date endres) {
		this.endres = endres;
	}

	public Mitglied getMitglied() {
		return mitglied;
	}

	public void setMitglied(Mitglied mitglied) {
		this.mitglied = mitglied;
	}

	public Tennisplatz getTennisplatz() {
		return tennisplatz;
	}

	public void setTennisplatz(Tennisplatz tennisplatz) {
		this.tennisplatz = tennisplatz;
	}

}
